ЛІНІЙНІ ОДНОЗВ’ЯЗНІ ТА ДВОЗВ’ЯЗНІ СПИСКИ

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2022
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування складних алгоритмів

Частина тексту файла

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» ЗВІТ до лабораторної роботи № 5 з дисципліни «Програмування складних алгоритмів» Тема «ЛІНІЙНІ ОДНОЗВ’ЯЗНІ ТА ДВОЗВ’ЯЗНІ СПИСКИ» Варіант № 24 Дата «6» травня 2022 Мета роботи: Метою лабораторної роботи є ознайомитися з основами роботи з двозв’язним списком, однозв’язним списком, стеком та чергою. Завдання до роботи Методичні вказівки Лабораторна робота спирається на знання й уміння, отримані при вивченні наступних питань лекції: Однозв’язний список є динамічною структурою даних, яка реалізує формування та обробку набору елементів. Елементи однозв’язного списку можуть бути посортованими або не посортованими. Однозв’язний список може зберігатися: в оперативній пам’яті; у файлі. Двозв’язний лінійний список – це список, в якому попередній компонент посилається на наступний, а наступний на попередній. Завдання до лабораторної роботи: 1. Створити лінійний однозв’язний список, вивести його. Якщо в списку є елемент із заданим ключем, вилучити його, а попередній та настуні поміняти місцями. Виконати завдання згідно варіанту. 2. Створити двозв’язний список, вивести його. Якщо в списку є елемент із заданим ключем, вилучити його. Виконати завдання згідно варіанту з двозвязним спмском. Завдання / 1.2. Теоретичні відомості Список – це лінійна послідовність елементів, кожен з яких має вказівник на своїх сусідів. Якщо елементи списку не мають вказівників на своїх сусідів, то список називають нелінійним. Кожен елемент списку повинен складатися, як мінімум з двох полів – це інформаційне поле та вказівник на наступний елемент. Інформаційне поле може набувати вигляду змінної будь-якого типу. Над списками визначено наступні основні операції : Додавання нового елемента, перед заданим; видалення заданого елемента; знаходження елемента за заданими властивостями; перевірка чи порожній список; сортування або впорядковування елементів списку за певним критерієм; визначення розміру списку. В залежності від типу та кількості зв’язків списки бувають таких видів: Однонапрямлені: Лінійний список, в якому кожний елемент має вказівник на наступний, називається однонапрямленим або однозв’язним списком, він є найпростішим типом списків. Одним з недоліків однонапрямленого списку – це те, що по однонапрямленому списку можна рухатися тільки в одному напрямку: від першого до останнього вузла, що при розв’язанні задач може викликати незручності. Так, наприклад, неможливо визначити адресу попереднього елемента. Двонапрямлені: Двонапрямленим або двозв’язним списком називається динамічна структура, кожен з елементів якої має вказівник як на наступний, так і на попередній елемент. У такому списку набагато простіше видаляти та переставляти елементи, так як відомі адреси попереднього та наступного елементів списку. Циклічні:  Циклічними або кільцевими списками називають двонапрямлені або однонапрямлені списки, в яких вказівник останнього вузла вказує на адресу першого вузла, або навпаки. 1.3. Результати роботи Було створенно програму, яка створіює лінійний однозв’язний та двозв’язний списки. Виконує над ними операції, такі як видалення та заміна елементів. 1.4. Лістинг програми package Algoritm.ua; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.Scanner; public class Main { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); Scanner scanner = new Scanner(System.in); int count = 20; for (int i = 0; i < count; i++) { numbers.add((int) (Math.random() * 20)); } System.out.println(Arrays.toString(numbers.toArray())); System.out.print("Введіть ключ пошуку: "); int key = scanner.nextInt(); int index = 0; for (int i = 0; i < numbers.size(); i++) { if (numbers.get(i) == key) { index = i; b...
Антиботан аватар за замовчуванням

11.05.2023 07:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини